home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vbdatabs / cdate.h < prev    next >
C/C++ Source or Header  |  1999-03-14  |  3KB  |  83 lines

  1. // ------------------------------- //
  2. // -------- Start of File -------- //
  3. // ------------------------------- //
  4. // ----------------------------------------------------------- //
  5. // C++ Header File Name: cdate.h 
  6. // C++ Compiler Used: Microsoft visual C/C++ version 4.0 
  7. // Produced By: Doug Gaer   
  8. // File Creation Date: 09/21/1997 
  9. // Date Last Modified: 03/15/1999
  10. // ----------------------------------------------------------- // 
  11. // ---------- Include File Description and Details  ---------- // 
  12. // ----------------------------------------------------------- // 
  13. /*
  14. The CDate class is used turn a date string into into concrete
  15. data type.
  16. */
  17. // ----------------------------------------------------------- //   
  18. #ifndef __CDATE_HPP
  19. #define __CDATE_HPP
  20.  
  21. // Define this macro to use the CPP iostream
  22. // #ifndef __USE_CPP_IOSTREAM__
  23. // #define __USE_CPP_IOSTREAM__
  24. // #endif
  25.  
  26. #include <iostream.h>
  27. #include "dtypes.h"
  28. #include "uint16.h"
  29.  
  30. // (C)oncrete (D)ate class
  31. class CDate
  32. {
  33. public:
  34.   CDate() { }
  35.   CDate(__UBYTE__ month, __UBYTE__ day, UINT16 year) {
  36.     Month = month, Day = day, Year = year;
  37.   }
  38.   CDate(const CDate& ob);
  39.   CDate& operator=(const CDate& ob);
  40.   
  41. public:
  42.   void SetDay(__UBYTE__ byte) { Day = byte; }
  43.   void SetMonth(__UBYTE__ byte) { Month = byte; }
  44.   void SetYear(UINT16 uint16) { Year = uint16; }
  45.   void SetDate(__UBYTE__ month, __UBYTE__ day, UINT16 year) {
  46.     Month = month, Day = day, Year = year;
  47.   }
  48.   __UBYTE__ GetDay() { return Day; }
  49.   __UBYTE__ GetMonth() { return Month; }
  50.   UINT16 GetYear() { return Year; }
  51.   char *c_str();
  52.   const char *c_str() const;
  53.   char *month_c_str();
  54.   const char *month_c_str() const;
  55.   char *day_c_str();
  56.   const char *day_c_str() const;
  57.   char *year_c_str();
  58.   const char *year_c_str() const;
  59.   unsigned SizeOf() { return sizeof(Month)+sizeof(Day)+sizeof(Year); }
  60.   
  61. public: // Overloaded operators
  62.   friend int operator==(const CDate &a, const CDate &b);
  63.   friend int operator!=(const CDate &a, const CDate &b);
  64.   friend int operator<(const CDate &a, const CDate &b);
  65.   
  66. public:
  67. #ifdef __USE_CPP_IOSTREAM__
  68.   friend ostream &operator<<(ostream &os, const CDate &ob);
  69.   friend void operator>>(istream &is, CDate &ob);
  70. #endif
  71.   
  72. private:
  73.   __UBYTE__ Month;
  74.   __UBYTE__ Day;
  75.   UINT16 Year;
  76. };
  77.  
  78. #endif  // __CDATE_HPP
  79. // ----------------------------------------------------------- // 
  80. // ------------------------------- //
  81. // --------- End of File --------- //
  82. // ------------------------------- //
  83.